package 异常;


//throws用在方法声明后面 表示抛出异常由该方法的调用者处理 表示出现异常的一种可能性，并不一定发生
//throw用在方法体内，跟的是异常对象名 表示抛出异常由方法体内的语句处理 执行throw一定抛出了某种一场
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

//编译异常和运行异常都可以使用throws处理将来谁调用谁还需要处理
public class throws处理异常 {
    public static void main(String[] args) {
        System.out.println("开始");
        try {
            method2();
        } catch (ParseException e) {
            e.printStackTrace();
        }
//        method3();
        System.out.println("结束");
    }

    public static void method2() throws ParseException {
            String s = "2023-04-13";
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Date d = sdf.parse(s);
            System.out.println(d);
    }

    public static void method3 () throws ArrayIndexOutOfBoundsException//跟异常类名将异常抛出
    {
        int[] arr = {1, 2, 3};
        System.out.println(arr[3]);
    }
}
